package com.bj58.mis.apm.server.statistics.dto.optimize;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.ArrayList;
import java.util.List;

/**
 * 聚合组建议
 * @Author: wangxw
 * @Date: 2018/7/5 9:43
 */
@ApiModel(description = "Cube聚合组调优参考")
public class SuggestGroup {
    @ApiModelProperty(value = "聚合组名称")
    private String groupName;
    @ApiModelProperty(value = "聚合组类型：已有、建议新增、已有建议删除")
    private String groupType;
    @ApiModelProperty(value = "聚合组包含维度,最终该组的include")
    private List<String> newGroupColumns;
    @ApiModelProperty(value = "增加维度")
    private List<String> addDims;
    @ApiModelProperty(value = "删除维度")
    private List<String> deleteDims;
    @ApiModelProperty(value = "增加强制维度")
    private List<String> mandatoryAddDims;
    @ApiModelProperty(value = "删除强制维度")
    private List<String> mandatoryDeleteDims;
    @ApiModelProperty(value = "增加联合维度")
    private List<List<String>> groupAddDims;
    @ApiModelProperty(value = "删除联合维度")
    private List<List<String>> groupDeleteDims;

    public SuggestGroup() {
        this.newGroupColumns = new ArrayList<>();
        this.addDims = new ArrayList<>();
        this.deleteDims = new ArrayList<>();
        this.mandatoryAddDims = new ArrayList<>();
        this.mandatoryDeleteDims = new ArrayList<>();
        this.groupAddDims = new ArrayList<>();
        this.groupDeleteDims = new ArrayList<>();
    }

    public String getGroupName() {
        return groupName;
    }

    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    public String getGroupType() {
        return groupType;
    }

    public void setGroupType(String groupType) {
        this.groupType = groupType;
    }

    public List<String> getNewGroupColumns() {
        return newGroupColumns;
    }

    public void setNewGroupColumns(List<String> newGroupColumns) {
        this.newGroupColumns = newGroupColumns;
    }

    public List<String> getAddDims() {
        return addDims;
    }

    public void setAddDims(List<String> addDims) {
        this.addDims = addDims;
    }

    public List<String> getDeleteDims() {
        return deleteDims;
    }

    public void setDeleteDims(List<String> deleteDims) {
        this.deleteDims = deleteDims;
    }

    public List<String> getMandatoryAddDims() {
        return mandatoryAddDims;
    }

    public void setMandatoryAddDims(List<String> mandatoryAddDims) {
        this.mandatoryAddDims = mandatoryAddDims;
    }

    public List<String> getMandatoryDeleteDims() {
        return mandatoryDeleteDims;
    }

    public void setMandatoryDeleteDims(List<String> mandatoryDeleteDims) {
        this.mandatoryDeleteDims = mandatoryDeleteDims;
    }

    public List<List<String>> getGroupAddDims() {
        return groupAddDims;
    }

    public void setGroupAddDims(List<List<String>> groupAddDims) {
        this.groupAddDims = groupAddDims;
    }

    public List<List<String>> getGroupDeleteDims() {
        return groupDeleteDims;
    }

    public void setGroupDeleteDims(List<List<String>> groupDeleteDims) {
        this.groupDeleteDims = groupDeleteDims;
    }
}
